FEXP Solver  1.0.0.0
CFEXPCppThread< TFunc, VarArgs > Class Template Reference

Wrapper above C++ std::thread class. More...

#include <FEXPConcurency.h>

Inheritance diagram for CFEXPCppThread< TFunc, VarArgs >:
Collaboration diagram for CFEXPCppThread< TFunc, VarArgs >:

Public Member Functions

 CFEXPCppThread ()
 
 CFEXPCppThread (std::function< TFunc > func, VarArgs &...args)
 
virtual ~CFEXPCppThread ()
 
virtual void StartThread () override
 It starts the thread. More...
 
virtual void Join () override
 
virtual void Detach () override
 
virtual void Cancel () override
 
virtual bool Canceling () override
 
virtual void Dispose () override
 
void SetInputData (std::function< TFunc > func, std::tuple< VarArgs... > args)
 
- Public Member Functions inherited from ICFEXPThreadBase
virtual ~ICFEXPThreadBase ()
 
template<typename... VarArgs>
std::tuple< VarArgs... > GetInputDataTuple (VarArgs &&... args)
 
template<typename TFunc , typename... VarArgs>
void SetInputData (std::function< TFunc > func, std::tuple< VarArgs... > args)
 
- Public Member Functions inherited from ICFEXPConcurrencyBase
virtual ~ICFEXPConcurrencyBase ()
 

Friends

void ThrowIfCancelRequest ()
 It throws an exception if cancel of process within the respective thread is required. More...
 

Detailed Description

template<typename TFunc, typename... VarArgs>
class CFEXPCppThread< TFunc, VarArgs >

Wrapper above C++ std::thread class.

Constructor & Destructor Documentation

◆ CFEXPCppThread() [1/2]

template<typename TFunc , typename... VarArgs>
CFEXPCppThread< TFunc, VarArgs >::CFEXPCppThread ( )
inline

◆ CFEXPCppThread() [2/2]

template<typename TFunc , typename... VarArgs>
CFEXPCppThread< TFunc, VarArgs >::CFEXPCppThread ( std::function< TFunc >  func,
VarArgs &...  args 
)

◆ ~CFEXPCppThread()

template<typename TFunc , typename... VarArgs>
virtual CFEXPCppThread< TFunc, VarArgs >::~CFEXPCppThread ( )
inlinevirtual

Member Function Documentation

◆ Cancel()

template<typename TFunc , typename... VarArgs>
void CFEXPCppThread< TFunc, VarArgs >::Cancel ( )
overridevirtual

Implements ICFEXPThreadBase.

◆ Canceling()

template<typename TFunc , typename... VarArgs>
bool CFEXPCppThread< TFunc, VarArgs >::Canceling ( )
overridevirtual

Implements ICFEXPThreadBase.

◆ Detach()

template<typename TFunc , typename... VarArgs>
void CFEXPCppThread< TFunc, VarArgs >::Detach ( )
overridevirtual

Implements ICFEXPThreadBase.

◆ Dispose()

template<typename TFunc , typename... VarArgs>
virtual void CFEXPCppThread< TFunc, VarArgs >::Dispose ( )
inlineoverridevirtual

Implements ICFEXPConcurrencyBase.

◆ Join()

template<typename TFunc , typename... VarArgs>
void CFEXPCppThread< TFunc, VarArgs >::Join ( )
overridevirtual

Implements ICFEXPThreadBase.

◆ SetInputData()

template<typename TFunc , typename... VarArgs>
void CFEXPCppThread< TFunc, VarArgs >::SetInputData ( std::function< TFunc >  func,
std::tuple< VarArgs... >  args 
)

◆ StartThread()

template<typename TFunc , typename... VarArgs>
void CFEXPCppThread< TFunc, VarArgs >::StartThread ( )
overridevirtual

It starts the thread.

Implements ICFEXPThreadBase.

Friends And Related Function Documentation

◆ ThrowIfCancelRequest

template<typename TFunc , typename... VarArgs>
void ThrowIfCancelRequest ( )
friend

It throws an exception if cancel of process within the respective thread is required.


The documentation for this class was generated from the following file: